Representational state transfer (REST) is a style of software architecture for distributed systems where software runs on various networked computers connected in data communication. REST is a web API (application programming interface) design model. REST-style architectures conventionally include clients and servers. Clients initiate requests to servers; servers process requests and return appropriate responses. Requests and responses are built around the transfer of representations of resources (that is, any coherent and meaningful concept that may be addressed). A representation of a resource is a document that captures the current, or intended state, of a resource. The client sends requests when it is ready to make the transition to a new state. While one or more requests are pending, the client is in “transition.” The representation of each application state includes links that are to be used the next time the client chooses to initiate a new state-transition.
Open Service for Lifecycle Collaboration (OSLC) is a set of specifications that enable integration of software development and more broadly Application Lifecycle Management (ALM) and Product Lifecycle Management (PLM) products and services. The OSLC specifications: (i) build on the W3C Resource Description Framework (RDF), Linked Data and REST; (ii) enable integration at data level via links between related resources. OSLC resources are defined in terms of RDF properties. Operations on resources are performed using HTTP. OSLC includes specifications directed to user interface techniques for previewing, creating and selecting links.
Applications and services that are deployed in a clustered environment use service/virtual IP's (Internet Protocols) and virtual hostnames. This allows the applications to be configured with a single address, while being deployed and/or hosted on multiple machines. When applications are configured to use virtual hostnames, there will be situations where these hostnames will be used for accessing various resources. Connectivity may fail due to the unavailability of mapping between the hostname and the IP address. When this happens to the UI (User Interface) component, and the UI component is a web based application like RESTful, (Representational State Transfer) or a Java Applet, or a Dojo widget, or a remote client, it will generally create problems, because the virtual hostnames might not be connected to an IP address at the client where the UI is running. (Note: the term(s) “JAVA” and/or “DOJO” may be subject to trademark rights in various jurisdictions throughout the world and are used here only in reference to the products or services properly denominated by the marks to the extent that such trademark rights may exist.) The same issue is present in OSLC (Open Service for Lifecycle Collaboration) and Linked Data applications, where multiple Service Providers can be registered, each of them comes from its own domain, and is being accessed by multiple applications through URLs.
Furthermore, RESTful applications use HTTP (Hypertext Transfer Protocol) requests for the operations, like create, delete, view and update data. Deployment of RESTful applications in a non-DNS environment potentially aggravates the DNS mapping problem.
A domain is a set of networked computers (see definition, below) that share a common address scheme. The World Wide Web is an example of one (quite large) domain, which uses internet protocol (IP) as a protocol for its address scheme. Many smaller domains (such as local area networks (LANs) and wide area networks (WANs) are connected to the World Wide Web.
A router is a device that communicates data packets between computer domains (such as a LAN, a WAN or the World Wide Web). A router is connected to two or more data lines from different domains. When a data packet comes in from the first domain to the router (by using a first domain IP address associated with the second domain taken as a whole), the router reads second domain destination information in the incoming packet to determine an address (usually an IP address) that the appropriate destination device has been assigned in the second domain. The router then forwards the packet through the second domain using the second domain address. While a router may be a limited purpose stand-alone device, router capabilities may also be built and/or programmed into a computer having other purposes, such as a server computer.